function Y = diagonalPrecon2DApplication(X,precision,D,n)
    [pp1,pp2] = optimizedPPFT2D(X,precision);
    Y = optimizedAdjointPPFT2D(pp1,pp2,precision);
    Y=reshape(D,[n,n]).*Y;
end
